package com.henu.rescue.service;

import com.henu.rescue.entity.Accident;
import com.henu.rescue.entity.VO.*;
import com.henu.rescue.utils.Page;
import lombok.Data;

import java.util.Date;
import java.util.List;

public interface AccidentService {

    //事故新增（模拟用户发来的救援事故）
    Integer addAccident(Accident accident);

    //分页查询
    Page<AccidentVO> selectOAccInfoByPage(Page<AccidentVO> page);

    //物理删除事故
    Integer delAccident(Integer accId);

    //逻辑删除
    Integer delAccidentLogic(Integer accId);

    //根据id查询
    Accident selectById(Integer accId);

    //分配order_id同时分配救援组织
    Integer distribute(Integer accId,String orderId);

    //分页查询获取没有分配订单的事故
    Page<Accident> selectNoDistributeByPage(Page<Accident> page);

    //查询地图要显示的事故信息
    List<AccidentMapVO> selectAccidentMapVO();

    //查询事故种类个数
    List<AccidentCause> selectAccidentCause();

    //查询一个时间区间内24小时的事故数量分布情况
    List<AccTimeAndCount> selectAccTime(Date lowTime,Date highTime);

    //查询一年中每个月的事故发生数量
    List<AccidentYearVO> selectAccidentByYear(Integer year);

    //统计每年发生的事故总数量
    List<AccidentAllYearVO> selectAllYear();

}
